package com.key.mapper;

import com.key.common.dto.UserAssetsDTO;
import com.key.entity.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Author: li
 * @CreateTime: 2023-02-20  15:20
 */
public interface IndexAssetsMapper {

    /**
     * 分页查询用户资产列表
     * @return
     */
    List<UserAssetsDTO> selectUserAssetsInfo(Integer assetsManagerId);

    /**
     * 根据员工查询所属公司信息
     * @param assetsManagerId
     * @return
     */
    Company selectAssetsInCompany(Integer assetsManagerId);

    /**
     * 查询所有公司信息
     * @return
     */
    List<Company> selectAllCompany();

    /**
     * 根据公司id查询其部门信息
     * @param companyId
     * @return
     */
    List<Department> selectAllDepartmentByCompanyId(Integer companyId);

    /**
     * 根据部门id查出部门负责人
     * @param departmentId
     * @return
     */
    List<SysUser> selectUserByDepartmentId(Integer departmentId);


    /**
     * 根据用户id显示用户当前可操作资产
     * @param assetsManagerId
     * @return
     */
    List<UserAssetsDTO> selectUserOperationalAssets(Integer assetsManagerId);


    /**
     * 添加资产调拨单
     * @param allocation
     * @return
     */
    int insertAssetsAllocation(AssetsAllocation allocation);

    /**
     * 添加资产调拨单与资产的关联表
     * @param map
     * @return
     */
    int insertAssetsAllocationRelation(Map map);


    /**
     * 修改资产状态
     * @param id
     * @return
     */
    int updateAssetsState(Integer id);

    /**
     * 根据用户id查询部门名称
     * @param id
     * @return
     */
    Department selectDeptInfoByEpmId(Integer id);





}
